home *** CD-ROM | disk | FTP | other *** search
- // ===============================================================
- // Fragment Program: CryVision + Glare
- // Description: Cryvision + glare, optimized version
- // Last Update: 21/10/2003
- // Coder: Tiago Sousa
- // ===============================================================
-
- #include "../CGVPMacro.csi"
-
- MainInput
- {
- uniform sampler2D ScreenTex : texunit0,
- uniform sampler2D GlareTex : texunit1,
- uniform sampler2D HeatTex : texunit2,
- uniform sampler2D NoiseTex : texunit3,
- uniform float4 Glare,
- uniform float4 NVColor
- }
-
- DeclarationsScript
- {
- OUT_T0_T1_T2_T3
- FOUT
- }
-
- CoreScript
- {
- float3 fLuminosity=float3(0.33f, 0.59f, 0.11f);
- float3 fNightColor= float3(-0.1, 0.25, 0.2);
- //float3 fNightColor= float3(-0.1, 0.3, 0.6);
-
- // load the decal
- float4 fScreenColor = tex2D(ScreenTex, IN.Tex0.xy);
- float4 fGlareColor = tex2D(GlareTex, IN.Tex1.xy);
- float4 fHeatColor = tex2D(HeatTex, IN.Tex2.xy);
- float4 fNoiseColor = tex2D(NoiseTex, IN.Tex3.xy);
-
- // compute luminosity
- float fScreenLuminosity= dot( fLuminosity, fScreenColor.xyz );
- float fGlareLuminosity= dot( fLuminosity, fGlareColor.xyz );
-
- float fColor =saturate( fGlareLuminosity );
- //fColor = saturate(fColor*Glare.w + fScreenLuminosity);
- fColor = saturate(fColor*Glare.w + fScreenLuminosity);
-
- //float3 fFinal= saturate(( (2*fColor*fNoiseColor) + fNightColor*0.4)*(fHeatColor.xyz)*fNoiseColor);
- //fHeatColor.xyz=fHeatColor.xyz*0.75;
-
- // CG bug, if dot(float3(1, 0, 0), color), it uses some stupid values..
- //float fHeatDetail=dot( float3(1, 0.01, 0), fScreenColor.xyz);
- //float3 fFinalHeat=saturate(fHeatColor.xyz);
-
- //float3 fNightVis=4*saturate(fColor*(2*(fNoiseColor-0.5))*fHeatColor.xyz + fHeatColor.xyz*fNightColor*0.15);
- //float3 fNightVis=saturate(saturate(2*fColor*fNoiseColor) + fNightColor*0.3)*fFinalHeat*fNoiseColor;
- float3 fNightVis=saturate(saturate(2*fColor*fNoiseColor) + fNightColor*0.3)*fNoiseColor;
-
- OUT.Color.xyz = fNightVis;
- OUT.Color.w = 1;
- }
-
-